package com.tc.zigbee.ha;

import java.util.HashMap;
import java.util.Map;

import com.tc.zigbee.entity.device.ZigbeeDevice;
import com.tc.zigbee.entity.device.ha.ZigbeeColorDimmableLight;
import com.tc.zigbee.entity.device.ha.ZigbeeDimmableLight;
import com.tc.zigbee.entity.device.ha.ZigbeeFlowSensor;
import com.tc.zigbee.entity.device.ha.ZigbeeHeatingCoolingUnit;
import com.tc.zigbee.entity.device.ha.ZigbeeLevelControllableOutput;
import com.tc.zigbee.entity.device.ha.ZigbeeLightSensor;
import com.tc.zigbee.entity.device.ha.ZigbeeOccupancySensor;
import com.tc.zigbee.entity.device.ha.ZigbeeOnoffLight;
import com.tc.zigbee.entity.device.ha.ZigbeeOnoffOutput;
import com.tc.zigbee.entity.device.ha.ZigbeePressureSensor;
import com.tc.zigbee.entity.device.ha.ZigbeePump;
import com.tc.zigbee.entity.device.ha.ZigbeeShade;
import com.tc.zigbee.entity.device.ha.ZigbeeTemperatureSensor;
import com.tc.zigbee.entity.device.ha.ZigbeeThermostat;

public class Meta {
	//static public final Map<Short, String> deviceTypeNames= new HashMap<Short, String>();
	static public final Map<Short, Class<? extends ZigbeeDevice>> deviceTypes= new HashMap<Short, Class<? extends ZigbeeDevice>>();
	static{
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_ON_OFF_SWITCH, "��ͨ����");
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_LEVEL_CONTROL_SWITCH, "���ؿ���");
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_ON_OFF_OUTPUT, "��������豸");
		deviceTypes.put(HAConstants.ZCL_HA_DEVICEID_ON_OFF_OUTPUT,ZigbeeOnoffOutput.class);
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_LEVEL_CONTROLLABLE_OUTPUT, "��������豸");
		deviceTypes.put(HAConstants.ZCL_HA_DEVICEID_LEVEL_CONTROLLABLE_OUTPUT,ZigbeeLevelControllableOutput.class);
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_SCENE_SELECTOR, "����ѡ����");
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_CONFIGURATIOPN_TOOL, "���ù���");
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_REMOTE_CONTROL, "ң���豸");
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_COMBINED_INETRFACE, "COMBINED_INETRFACE");
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_RANGE_EXTENDER, "RANGE_EXTENDER");
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_MAINS_POWER_OUTLET, "����Դ����");
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_TEST_DEVICE, "�����豸");
		
//		
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_ON_OFF_LIGHT, "��ͨ�ƾ�");
		deviceTypes.put(HAConstants.ZCL_HA_DEVICEID_ON_OFF_LIGHT,ZigbeeOnoffLight.class);
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_DIMMABLE_LIGHT, "�ɵ��ƾ�");
		deviceTypes.put(HAConstants.ZCL_HA_DEVICEID_DIMMABLE_LIGHT,ZigbeeDimmableLight.class);
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_COLORED_DIMMABLE_LIGHT, "��ɫ�ɵ��ƾ�");
		deviceTypes.put(HAConstants.ZCL_HA_DEVICEID_COLORED_DIMMABLE_LIGHT,ZigbeeColorDimmableLight.class);
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_ON_OFF_LIGHT_SWITCH, "��ͨ�ƾ߿���");
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_DIMMER_SWITCH, "�ɵ��ƾ߿���");
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_COLOR_DIMMER_SWITCH, "��ɫ�ɵ��ƾ߿���");
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_LIGHT_SENSOR, "���ȴ�����");
		deviceTypes.put(HAConstants.ZCL_HA_DEVICEID_LIGHT_SENSOR,ZigbeeLightSensor.class);
	//	deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_OCCUPANCY_SENSOR, "ռλ������");
		deviceTypes.put(HAConstants.ZCL_HA_DEVICEID_OCCUPANCY_SENSOR,ZigbeeOccupancySensor.class);
		
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_SHADE, "��Ҷ");
		deviceTypes.put(HAConstants.ZCL_HA_DEVICEID_SHADE,ZigbeeShade.class);
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_SHADE_CONTROLLER, "��Ҷ������");
		
		
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_HEATING_COOLING_UNIT, "������ȵ�Ԫ");
		deviceTypes.put(HAConstants.ZCL_HA_DEVICEID_HEATING_COOLING_UNIT,ZigbeeHeatingCoolingUnit.class);
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_THERMOSTAT, "THERMOSTAT");
		deviceTypes.put(HAConstants.ZCL_HA_DEVICEID_THERMOSTAT,ZigbeeThermostat.class);
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_TEMPERATURE_SENSOR, "�¶ȴ�����");
		deviceTypes.put(HAConstants.ZCL_HA_DEVICEID_TEMPERATURE_SENSOR,ZigbeeTemperatureSensor.class);
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_PUMP, "��");
		deviceTypes.put(HAConstants.ZCL_HA_DEVICEID_PUMP,ZigbeePump.class);
	//	deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_PUMP_CONTROLLER, "�ÿ�����");
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_PRESSURE_SENSOR, "ѹ��������");
		deviceTypes.put(HAConstants.ZCL_HA_DEVICEID_PRESSURE_SENSOR,ZigbeePressureSensor.class);
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_FLOW_SENSOR, "����������");
		deviceTypes.put(HAConstants.ZCL_HA_DEVICEID_FLOW_SENSOR,ZigbeeFlowSensor.class);
		
		
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_IAS_CONTROL_INDICATING_EQUIPMENT, "���ֱ�������ָʾ�豸");
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_IAS_ANCILLARY_CONTROL_EQUIPMENT, "���ֱ�����������豸");
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_IAS_ZONE, "���ֱ����������豸");
//		deviceTypeNames.put(HAConstants.ZCL_HA_DEVICEID_IAS_WARNING_DEVICE, "���ֱ��������豸");
	}
}
